using Smart.Model;

namespace Smart.Hotfix.TABLE
{
	[TableLoader]
	public class ITEMExtend : ITableLoader
	{
		public string FileName => "ITEM";
		public void Init(TableData tableData)
		{
			ITEM.__data = tableData;
		}
		public object CreateAndBind(TableHandle handle)
		{
			var item = new ITEM();
			item.handle = handle;
			return item;
		}
		public void Bind(object item, TableHandle handle)
		{
			(item as ITEM).handle = handle;
		}
	}

	public class ITEM : ITable
	{
		public TableHandle handle;
		public static TableData __data;
		public int id
		{
			get
			{
				return __data.intValues[handle.intOffset + 0];
			}
		}
		public string name
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 1] & 0xFFFFF];
			}
		}
		public int type
		{
			get
			{
				return __data.intValues[handle.intOffset + 2];
			}
		}
		public int subType
		{
			get
			{
				return __data.intValues[handle.intOffset + 3];
			}
		}
		public int overlaying
		{
			get
			{
				return __data.intValues[handle.intOffset + 4];
			}
		}
		public int levClass
		{
			get
			{
				return __data.intValues[handle.intOffset + 5];
			}
		}
		public int level
		{
			get
			{
				return __data.intValues[handle.intOffset + 6];
			}
		}
		public int quality
		{
			get
			{
				return __data.intValues[handle.intOffset + 7];
			}
		}
		public int exValue
		{
			get
			{
				return __data.intValues[handle.intOffset + 8];
			}
		}
		public string tips
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 9] & 0xFFFFF];
			}
		}
		public string icon
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 10] & 0xFFFFF];
			}
		}
		public string img
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 11] & 0xFFFFF];
			}
		}
		public int sex
		{
			get
			{
				return __data.intValues[handle.intOffset + 12];
			}
		}
		public int career
		{
			get
			{
				return __data.intValues[handle.intOffset + 13];
			}
		}
		public int model
		{
			get
			{
				return __data.intValues[handle.intOffset + 14];
			}
		}
		public int dataPtr
		{
			get
			{
				return __data.intValues[handle.intOffset + 15];
			}
		}
		public IntArray data
		{
			get
			{
				IntArray array;
				array.__values = __data.varIntValues;
				array.__start = dataPtr & 0xFFFFF;
				array.__length = (dataPtr >> 20) & 0xFFF;
				array.__end = array.__length + array.__start;
				return array;
			}
		}
		public int phyAttMax
		{
			get
			{
				return __data.intValues[handle.intOffset + 16];
			}
		}
		public int phyAttMin
		{
			get
			{
				return __data.intValues[handle.intOffset + 17];
			}
		}
		public int magicAttMax
		{
			get
			{
				return __data.intValues[handle.intOffset + 18];
			}
		}
		public int magicAttMin
		{
			get
			{
				return __data.intValues[handle.intOffset + 19];
			}
		}
		public int taoAttMax
		{
			get
			{
				return __data.intValues[handle.intOffset + 20];
			}
		}
		public int taoAttMin
		{
			get
			{
				return __data.intValues[handle.intOffset + 21];
			}
		}
		public int phyDefMax
		{
			get
			{
				return __data.intValues[handle.intOffset + 22];
			}
		}
		public int phyDefMin
		{
			get
			{
				return __data.intValues[handle.intOffset + 23];
			}
		}
		public int magicDefMax
		{
			get
			{
				return __data.intValues[handle.intOffset + 24];
			}
		}
		public int magicDefMin
		{
			get
			{
				return __data.intValues[handle.intOffset + 25];
			}
		}
		public int accurate
		{
			get
			{
				return __data.intValues[handle.intOffset + 26];
			}
		}
		public int dodge
		{
			get
			{
				return __data.intValues[handle.intOffset + 27];
			}
		}
		public int criticalDamage
		{
			get
			{
				return __data.intValues[handle.intOffset + 28];
			}
		}
		public int critical
		{
			get
			{
				return __data.intValues[handle.intOffset + 29];
			}
		}
		public int hp
		{
			get
			{
				return __data.intValues[handle.intOffset + 30];
			}
		}
		public int mp
		{
			get
			{
				return __data.intValues[handle.intOffset + 31];
			}
		}
		public int binding
		{
			get
			{
				return __data.intValues[handle.intOffset + 32];
			}
		}
		public int notPrompt
		{
			get
			{
				return __data.intValues[handle.intOffset + 33];
			}
		}
		public string timeLimit
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 34] & 0xFFFFF];
			}
		}
		public int importance
		{
			get
			{
				return __data.intValues[handle.intOffset + 35];
			}
		}
		public int pickUpType
		{
			get
			{
				return __data.intValues[handle.intOffset + 36];
			}
		}
		public int wolongLv
		{
			get
			{
				return __data.intValues[handle.intOffset + 37];
			}
		}
		public int callbackPtr
		{
			get
			{
				return __data.intValues[handle.intOffset + 38];
			}
		}
		public LongArray callback
		{
			get
			{
				LongArray array;
				array.__values = __data.varLongValues;
				array.__start = callbackPtr & 0xFFFFF;
				array.__length = (callbackPtr >> 20) & 0xFFF;
				array.__end = array.__length + array.__start;
				return array;
			}
		}
		public int huaiJiuSuit
		{
			get
			{
				return __data.intValues[handle.intOffset + 39];
			}
		}
		public string bufferParam
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 40] & 0xFFFFF];
			}
		}
		public int saleType
		{
			get
			{
				return __data.intValues[handle.intOffset + 41];
			}
		}
		public int showType
		{
			get
			{
				return __data.intValues[handle.intOffset + 42];
			}
		}
		public int currencyType
		{
			get
			{
				return __data.intValues[handle.intOffset + 43];
			}
		}
		public int recommend
		{
			get
			{
				return __data.intValues[handle.intOffset + 44];
			}
		}
		public int zhanHunSuit
		{
			get
			{
				return __data.intValues[handle.intOffset + 45];
			}
		}
		public string tips2
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 46] & 0xFFFFF];
			}
		}
		public string getWay
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 47] & 0xFFFFF];
			}
		}
		public int funcopen
		{
			get
			{
				return __data.intValues[handle.intOffset + 48];
			}
		}
		public int deliver
		{
			get
			{
				return __data.intValues[handle.intOffset + 49];
			}
		}
		public int uniondonate
		{
			get
			{
				return __data.intValues[handle.intOffset + 50];
			}
		}
		public int effectPtr
		{
			get
			{
				return __data.intValues[handle.intOffset + 51];
			}
		}
		public IntArray effect
		{
			get
			{
				IntArray array;
				array.__values = __data.varIntValues;
				array.__start = effectPtr & 0xFFFFF;
				array.__length = (effectPtr >> 20) & 0xFFF;
				array.__end = array.__length + array.__start;
				return array;
			}
		}
		public int group
		{
			get
			{
				return __data.intValues[handle.intOffset + 52];
			}
		}
		public int limit
		{
			get
			{
				return __data.intValues[handle.intOffset + 53];
			}
		}
		public int itemcd
		{
			get
			{
				return __data.intValues[handle.intOffset + 54];
			}
		}
		public string entry
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 55] & 0xFFFFF];
			}
		}
		public int distantPast
		{
			get
			{
				return __data.intValues[handle.intOffset + 56];
			}
		}
		public int randomLibrary
		{
			get
			{
				return __data.intValues[handle.intOffset + 57];
			}
		}
		public int Operationtype
		{
			get
			{
				return __data.intValues[handle.intOffset + 58];
			}
		}
		public int customize
		{
			get
			{
				return __data.intValues[handle.intOffset + 59];
			}
		}
	}
}
